package com.aorise.mapper.bayonet;

import com.aorise.model.bayonet.BayonetCameraModel;
import com.aorise.model.bayonet.BayonetCameraVo;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;

import javax.validation.constraints.NotNull;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

/**
 * @Auther: zhouhao
 * @Date: 2019/6/26
 * @Description:    卡口设备Mapper
 */
@Mapper
@Component
public interface BayonetCameraMapper {

    /**
     * 卡口设备列表总数
     * @param map   条件
     */
    int getBayonetCameraCount(Map map);

    /**
     * 卡口设备列表总数
     * @param map   条件
     */
    List<?> getBayonetCameraByPage(Map<String, Object> map);

    /**
     * 添加卡口设备
     * @param bayonetCameras  添加信息
     * @return
     */
    int addBayonetCamera(List<BayonetCameraModel> bayonetCameras);

    /**
     * 卡口设备详情
     * @param map   条件
     * @return
     */
    BayonetCameraVo getBayonetCameraInfo(Map<String, Object> map);

    /**
     * 修改卡口设备信息
     * @param bayonetCamera   条件
     * @return
     */
    int upBayonetCamera(BayonetCameraModel bayonetCamera);

    /**
     * 导出卡口设备信息
     * @param map   条件
     * @return
     */
    List<LinkedHashMap<String,String>> exportBayonetCamera(Map<String, Object> map);

    /**
     * 根据设备编码查找设备
     * @param map
     * @return
     */
    BayonetCameraModel selectBayonetCamerByCaNumber(Map map);

    /**
     * 导入时添加卡口
     * @param bayonetCameras
     */
    void addBayonetCameraImp(List<BayonetCameraModel> bayonetCameras);
}
